package com.example.everying.model.dto.pay;

import com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
public class TransferToUserRequest {
    @SerializedName("appid")
    @ApiModelProperty(value = "商户号")
    public String appid;

    @SerializedName("out_bill_no")
    @ApiModelProperty(value = "商户系统内部的订单号")
    public String outBillNo; //商户系统内部的商家单号，要求此参数只能由数字、大小写字母组成，在商户系统内部唯一

    @SerializedName("transfer_scene_id")
    @ApiModelProperty(value = "转账场景ID")
    public String transferSceneId;

    @SerializedName("openid")
    @ApiModelProperty(value = "用户openid")
    public String openid;

    @SerializedName("user_name")
    @ApiModelProperty(value = "用户姓名")
    public String userName;

    @SerializedName("transfer_amount")
    @ApiModelProperty(value = "转账金额")
    public Long transferAmount;

    @SerializedName("transfer_remark")
    @ApiModelProperty(value = "转账备注")
    public String transferRemark; //转账备注，用户收款时可见该备注信息，UTF8编码，最多允许32个字符

    @SerializedName("notify_url")
    @ApiModelProperty(value = "回调地址")
    public String notifyUrl; //异步接收微信支付结果通知的回调地址，通知url必须为公网可访问的URL，必须为HTTPS，不能携带参数

    @SerializedName("user_recv_perception")
    @ApiModelProperty(value = "用户收款感知")
    public String userRecvPerception; // 用户收款时感知到的收款原因将根据转账场景自动展示默认内容。如有其他展示需求，可在本字段传入。各场景展示的默认内容和支持传入的内容

    @SerializedName("transfer_scene_report_infos")
    @ApiModelProperty(value = "转账场景报备信息")
    public List<TransferSceneReportInfo> transferSceneReportInfos;
    //各转账场景下需报备的内容，商户需要按照所属转账场景规则传参 信息类型，两条明细中必须分别填写以下两个取值：  活动名称  奖励说明


}
